package com.example.aircraftwar.codes.aircraft;

import android.content.Context;

import com.example.aircraftwar.codes.activity.GameActivity;
import com.example.aircraftwar.codes.bullet.BaseBullet;
import com.example.aircraftwar.codes.bullet.EnemyBullet;
import com.example.aircraftwar.codes.factory.BloodPropFactory;
import com.example.aircraftwar.codes.factory.BombPropFactory;
import com.example.aircraftwar.codes.factory.BulletPropFactory;
import com.example.aircraftwar.codes.factory.PropFactory;
import com.example.aircraftwar.codes.prop.AbstractProp;
import com.example.aircraftwar.codes.strategy.ShootStrategy;

import java.util.LinkedList;
import java.util.List;

public class BossEnemy extends BaseEnemyAircraft implements Observer{

    public BossEnemy(Context context, int locationX, int locationY, int speedX, int speedY, int hp, ShootStrategy shootStrategy) {
        super(context, locationX, locationY, speedX, speedY, hp, shootStrategy);
    }

    @Override
    public int getScoreAdd(int score) {
        return score+50 ;
    }

    @Override
    public List<AbstractProp> produceProp() {
        List<AbstractProp> newPropList = new LinkedList<>();
        PropFactory propFactory = new BloodPropFactory();
        newPropList.add(propFactory.createProp(context, this.getLocationX(),this.getLocationY()));
        propFactory = new BombPropFactory();
        newPropList.add(propFactory.createProp(context, this.getLocationX() + GameActivity.WINDOW_WIDTH / 10, this.getLocationY()));
        propFactory = new BulletPropFactory();
        newPropList.add(propFactory.createProp(context, this.getLocationX() - GameActivity.WINDOW_WIDTH / 10, this.getLocationY()));
        return newPropList;
    }

    @Override
    public void react() {
    }
}

